package com.tywj.lib.core.common.extension

import android.os.Parcel
import android.os.Parcelable

/**
 * <pre>
 *     author : June Yang
 *     time   : 2020/5/7
 *     desc   : Parcelable扩展
 *     version: 1.1.6
 * </pre>
 */

/**
 * 读取集合ArrayList对象
 * 注意：这里的T只能是基础数据类型，或者实现了Parcelable的类，否则会报错
 */
inline fun <reified T> Parcel.readArrayList(): ArrayList<T> {
    @Suppress("UNCHECKED_CAST")
    return this.readArrayList(T::class.java.classLoader) as ArrayList<T>
}

/**
 * 读取Parcelable对象
 */
inline fun <reified T : Parcelable> Parcel.readParcelable(): T? {
    @Suppress("UNCHECKED_CAST")
    return this.readParcelable(T::class.java.classLoader)
}